<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Produto extends CI_Controller {
    	
    function Produto (){
        parent::__construct();
		
		if(!$this->usercontrol->has_permission('produto')){
            redirect('home');
		}
        
        if(!$this->session->userdata('logged')){
        	redirect('login');
        }
    }
	
	public function index (){
	    // Load open transports
	    $this->load->model('product_model');
	    $data['produtos'] = $this->product_model->get(false);
	    $data['page_title']  = "Produtos";
	 
	    // Load View
	    $this->template->show('produto/list', $data);
	}
	
	public function add (){
		$data = array(
			'page_title'  	=> "Adicionar Produto",
			'nome'			=> '',
			'descricao'		=> '',
			'valor'			=> '',
		);	    	
	    
	    $this->template->show('produto/add', $data);
	}
	 
	public function edit ($id){
	    $this->load->model('product_model');
	    $data = $this->product_model->get($id);
	 
	    $data['page_title']  = "Editar Produto #".$id;
	 
	    $this->template->show('produto/add', $data);
	}
	
	public function remove ($id){
	    $this->load->model('product_model');
	    $this->product_model->delete($id);
	 
	    redirect('produto');
	}
	
	public function save(){
        if($this->input->post('cancel') !== FALSE){
        	redirect('produto');
        }
            
        $produto_id = $this->input->post('id');
        
        $this->load->library('form_validation');
		
        $this->form_validation->set_rules('nome', 'Nome', 'required|ucwords');
        $this->form_validation->set_rules('valor', 'Valor', 'required');
        
        if($this->form_validation->run() === false)  {
            $this->error = true;
            
            if ($produto_id){
                $this->edit ($produto_id);
            } else {
                $this->add ();
			}
			
            return;
        }
        
        $this->load->model('product_model');
        
        $sql_data = array(
            'nome'		=> $this->input->post('nome'),
            'descricao'	=> $this->input->post('descricao'),
            'valor'    	=> $this->input->post('valor')
        );
        
        if ($produto_id){
            $this->product_model->update($produto_id,$sql_data);
        } else {
            $this->product_model->create($sql_data);
		}

        redirect('produto');
    }
 
}